<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //一.every循环: 循环返回值 如果都是true 那么最终的结果就是true 否则就是false
      //只要最终结果值获取到了,那么every循环就停止了
      /*  var arr = [true, false, true, true, true];
      var res = arr.every(function (item, key, arr) {
        console.log(item, key, arr);
        return item;
      });
      console.log("最终的结果是", res); */

      //   every的简单实现
      var arr = [true, false, true, true, true];

      function myEvery(arr, cb) {
        var result = true; //最终的值
        for (var i = 0; i < arr.length; i++) {
          //var res = cb(arr[i],i,arr);//获取cb的执行返回值
          result = result && cb(arr[i], i, arr);
          //如果result的值是false 那么循环需要停止
          if (!result) {
            break; //阻止剩余的所有循环的执行
          }
        }
        return result;
      }
      var res = myEvery(arr, function (item, key, arr) {
        console.log(item, key, arr);
        return item;
      });
      console.log("最终的结果是", res);

      //
    </script>
  </body>
</html>
